gsk: Fall back to cairo if compiling shaders fails
authorMatthias Clasen <mclasen@redhat.com>
Fri, 17 Apr 2020 16:35:37 +0000 (12:35 -0400)
committerMatthias Clasen <mclasen@redhat.com>
Fri, 17 Apr 2020 17:42:33 +0000 (13:42 -0400)
There was already some fallback in place here, but
in other places we were just asserting.

gsk/gl/gskglrenderer.c

index a706f0c18edc9dc00705c00355ab102a1e167602..c1fa55c2dd5221744940d883e8d7d86308c24a05 100644 (file)
               G_STMT_START{\
                 programs->program_name ## _program.program_name.uniform_basename ## _location = \
                               glGetUniformLocation(programs->program_name ## _program.id, "u_" #uniform_basename);\
-                g_assert_cmpint (programs->program_name ## _program.program_name.uniform_basename ## _location, >, -1); \
+                if (programs->program_name ## _program.program_name.uniform_basename ## _location == -1) \
+                  { \
+                    g_clear_pointer (&programs, gsk_gl_renderer_programs_unref); \
+                    goto out; \
+                  } \
               }G_STMT_END
 
 #define INIT_COMMON_UNIFORM_LOCATION(program_ptr, uniform_basename) \